sql - GROUP BY 和 ORDER BY
全部标签 我想试试sparksql,我一开始用的是bin/spark-shell插入此代码valsqlcontext=neworg.apache.spark.sql.SQLContext(sc)valdata=sc.textFile("hdfs://localhost:9000/cars.csv")valmapr=data.map(p=>p.split(','))valMyMatchRDD=mapr.map(p=>MyMatch(p(0).toString(),p(1).toString(),p(2).toString(),p(3).toString(),p(4).toString(),p(5)
我在impalaselect*fromtable中有一个sql查询,但是当我执行这个时,某些列丢失了。而当我执行describetable时,那些列就在那里。我无法显示该代码段,但未显示的类型是映射、数组和结构。 最佳答案 Impala不支持。复杂类型必须解包才能显示。TheresultsetofanImpalaqueryalwayscontainsallscalartypes;theelementsandfieldswithinanycomplextypequeriesmustbe"unpacked"usingjoinquerie
我正在从事一个允许在Hadoop上进行搜索的项目。它的工作原理是首先将查询传递给ES,然后将生成的ID传递回SQL,如下所示:SELECT...WHEREidin[1,24,383,2912,...]当我们有100或1000个ID传回SQL-on-Hadoop时,这很有效,但如果我们有100K或1M+id传回,则效果不佳。将结果集(id列表?)从ES传回SQL有哪些替代方法? 最佳答案 将所有elasticsearchid插入到一个单独的表中,然后将其与源表连接。例如CREATETABLEELASTIC_SEARCH_ID(idIN
这是HowtopassElasticSearchquerytohadoop的后续问题.基本上,我想在ElasticSearch中进行全文搜索,然后将结果集传递给SQL以运行聚合查询。这是一个例子:假设我们在具有10B条记录的财务数据库中搜索“Terminator”。它具有以下匹配项:“终结者”(100万个结果)“终结者2”(1000万个结果)“XJ4-227”(1个结果==>这里“终结者”在标题的概要中)我们不会传回10+Mid,而是传回以下“简化查询”——...WHEREnamein('Terminator','Terminator2','XJ4-227')我们如何编写这样的算法来将
我的数据库中有很多表,其中一些是External_Tables,每次我删除External_Table时,我需要找到External_Table的位置,我需要-rm-r数据。所以,有没有hive中的任何方式,同时删除包含元数据和数据的External_Table,如果我们删除managed_table,数据和元数据都将被删除。 最佳答案 在删除之前将外部表转换为托管表altertablemytablesettblproperties('EXTERNAL'='FALSE'); 关于sql-
我有下面的表(播放器)列playerIdscoreteamId此表包含所有球队的所有球员信息。PlayerID是主列。每个团队包括多名球员,因此teamId上有很多重复值。分数是每个玩家的分数。我想写一个hive-sql来查询每支球队的最高得分球员。下面是我试过的查询:selectmax(score)score,teamIdfromplayergroupbyteamId这个查询工作正常,但它只显示teamId和最高分数。我也想查询playerId。如果我在选择列中添加playerId,我会遇到以下错误:org.apache.hive.service.cli.HiveSQLExcepti
我从Hive加载以下三个表:books=LOAD'books'USINGorg.apache.hive.hcatalog.pig.HCatLoader()AS(isbn_b:chararray,booktitle:chararray,author:chararray,pubyear:chararray,publisher:chararray,urls:chararray,urlm:chararray,urll:chararray);users=LOAD'users'USINGorg.apache.hive.hcatalog.pig.HCatLoader()AS(id_u:chararr
表格描述信息hive>desclog23;OKcol_namedata_typecomment17/05/2510:49:12INFOmapred.FileInputFormat:Totalinputfilestoprocess:1hoststringfromdeserializerremote_hoststringfromdeserializerremote_lognamestringfromdeserializerremote_userstringfromdeserializerrequest_timestringfromdeserializerrequest_methodstri
我想返回所有有两个连字符的电话号码,例如:999-999-9999SELECTINSTR(phonenumber,'-',1,2),phonenumberFromphonetableWherelength(phonenumber)=11AndINSTR(phonenumber,'-')=1我想要返回电话号码,例如999-999-9999 最佳答案 select*fromphonetablewherephonenumberlike'___-___-____'或select*fromphonetablewherephonenumberr
我的表有如下数据Column--------1122521122621122821122121122221122442我需要在模式Hive中找到那些在MIDDLE中有空格的数字的计数。如果可能的话,请帮我解释一下计数。 最佳答案 使用like和count(*):selectcount(*)fromtwherecolumnlike'%%'; 关于sql-在数据中查找指定模式--Hive,我们在StackOverflow上找到一个类似的问题: https://st